package com.spdd.mt.biz.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 充值预下单表
 * </p>
 *
 * @author shanfeilong
 * @since 2025-04-02
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("充值预下单表")
public class MtRechargeOrderPreVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty("主键")
    private Long id;

    /** 美团商⼾编码 */
    @ApiModelProperty("美团商⼾编码")
    private String merchNo;

    /** ⼿机号 */
    @ApiModelProperty("⼿机号")
    private String account;

    /** 商品编码 */
    @ApiModelProperty("商品编码")
    private String productCode;

    /** 平台业务预下单订单号 */
    @ApiModelProperty("平台业务预下单订单号")
    private String preOrderNo;

    /** 供应商返回码 */
    @ApiModelProperty("供应商返回码")
    private String supplierReturnCode;

    /** 供应商返回信息 */
    @ApiModelProperty("供应商返回信息")
    private String supplierReturnMessage;

    /** 返回码 success fail */
    @ApiModelProperty("返回码 success fail")
    private String returnStatus;

    /** 返回信息 */
    @ApiModelProperty("返回信息")
    private String returnMessage;

    /** 返回码 */
    @ApiModelProperty("返回码")
    private String returnCode;

    /** 重查次数 */
    @ApiModelProperty("重查次数")
    private Integer retryTimes;

    /** 最近一次重查时间 */
    @ApiModelProperty("最近一次重查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastRetryTime;

    /** 创建时间 */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /** 更新时间 */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /** 版本号 */
    @ApiModelProperty("版本号")
    private Integer version;

}